<template>
  <view class="content">
		<message ref="Message"></message>
	  <view class="statusBar" :style="{ height: statusBarHeight + 'PX'}"></view>
	  <view class="return">
	  	<image src="../../static/images/back3.png" mode="" @click="back"></image>
	  </view>
    <view class="header">
      <image src="../../static/logo.png"></image>
    </view>

    <view class="list">
      <view class="list-call">
        <image class="img" src="/static/shilu-login/1.png"></image>
        <input class="sl-input" v-model="phone" type="number" maxlength="11" placeholder="手机号" />
      </view>
      <view class="list-call">
        <image class="img" src="/static/shilu-login/2.png"></image>
        <input class="sl-input" v-model="password" type="text" maxlength="16" placeholder="登录密码" :password="!showPassword" />
        <image class="img" :src="showPassword?'/static/shilu-login/op.png':'/static/shilu-login/cl.png'" @tap="display"></image>
      </view>
      <view class="list-call">
        <image class="img" src="/static/shilu-login/3.png"></image>
        <input class="sl-input" v-model="code" type="number" maxlength="4" placeholder="验证码" />
        <view class="yzm" :class="{ yzms: second>0 }" @tap="getcode">{{yanzhengma}}</view>
      </view>
      <view class="list-call">
        <image class="img" src="/static/shilu-login/4.png"></image>
        <input class="sl-input" v-model="invitation" type="text" maxlength="12" placeholder="邀请码(选填)" />
      </view>

    </view>

    <view class="button-login" hover-class="button-hover" @tap="bindLogin">
      <text>注册</text>
    </view>

    <view class="agreement">
      <image @tap="agreementSuccess" :src="agreement==true?'/static/shilu-login/ty1.png':'/static/shilu-login/ty0.png'"></image>
      <text @tap="agreementSuccess"> 同意</text>
      <navigator url="agreement?id=1" open-type="navigate">《软件用户协议》</navigator>
    </view>
  </view>
</template>

<script>
	import { ip2int } from '@/commons/long2ip.js'
	import { checkPassword, isPhone } from '@/commons/utiles.js'
	var _this, js;
	export default {
		onLoad() {
		  _this = this;
		  this.prepareCode = (Math.random().toString().slice(2, 6))
		},
		onUnload() {
		  clearInterval(js)
		  this.second = 0;
		},
		data() {
		  return {
			statusBarHeight: this.$systemInfo.statusBarHeight,
			phone: '',
			password: '',
			code: '',
			invitation: '',
			agreement: true,
			showPassword: false,
			second: 0,
			prepareCode: 0
		  };
		},
		computed: {
		 
		  yanzhengma() {
			if (this.second == 0) {
			  return '获取验证码';
			} else {
			  if (this.second < 10) {
				return '重新获取0' + this.second;
			  } else {
				return '重新获取' + this.second;
			  }
			}
		  }
		},
		onUnload() {
		  this.clear()
		},
		methods: {
		
			  back() {
				uni.navigateBack()
			  },
			  clear(){
					clearInterval(js)
					js = null
					this.second = 0
			  },
			  display() {
					this.showPassword = !this.showPassword
			  },
			  agreementSuccess() {
					this.agreement = !this.agreement;
			  },
			  async getcode() {
				if (!isPhone(this.phone)) {
					this.$refs['Message'].warn('手机号不正确')
					return
				}
				if (this.second > 0) {
				  return;
				}
				this.second = 60;
				//请求业务
				js = setInterval(function() {
				  _this.second--;
				  if (_this.second == 0) {
					_this.clear()
				  }
				}, 1000)
				await this.$promise(1000)
				this.code = this.prepareCode
				// uni.request({
				//   url: 'http://***/getcode.html', //仅为示例，并非真实接口地址。
				//   data: {
				//     phone: this.phone,
				//     type: 'reg'
				//   },
				//   method: 'POST',
				//   dataType: 'json',
				//   success: (res) => {
				//     if (res.data.code != 200) {
				//       uni.showToast({
				//         title: res.data.msg,
				//         icon: 'none'
				//       });
				//     } else {
				//       uni.showToast({
				//         title: res.data.msg
				//       });
				//       js = setInterval(function() {
				//         _this.second--;
				//         if (_this.second == 0) {
				//           _this.clear()
				//         }
				//       }, 1000)
				//     }
				//   },
				//   fail() {
				//     this.second == 0
				//   }
				// });
			  },
			  async bindLogin() {
				if (this.agreement == false) {
					this.$refs['Message'].warn('请先阅读《软件用户协议》')
					return;
				}
				if (!isPhone(this.phone)) {
					this.$refs['Message'].warn('手机号不正确')
					return;
				}
				if (!this.password) {
					this.$refs['Message'].warn('不输入密码不让你注册')
					return
				}
				if (checkPassword(this.password) < 2) {
					this.$refs['Message'].warn('密码这么简单你是怕我猜不到么')
					return;
				}
				if (this.code.length != 4) {
					this.$refs['Message'].warn('验证码不正确')
					return;
				}
				const { data: res } = await this.$http({
					url: this.$api.register,
					method: 'POST',
					data: {
						user_name: this.phone,
						user_pwd: this.password,
					}
				})
				if (res.status !== 200) {
					this.$refs['Message'].info(res.message)
					return 
				}
				this.$refs['Message'].success('注册成功')
				getApp().globalData.userInfo = {
					user_name: this.phone,
					user_pwd: this.password
				}
				await this.$promise(500)
				this.$goto('/pages/login/login')
			  }
		}
  }
</script>

<style  lang="scss" scoped>
  .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .header {
    width: 161rpx;
    height: 161rpx;
    background: rgba(63, 205, 235, 1);
    box-shadow: 0rpx 12rpx 13rpx 0rpx rgba(63, 205, 235, 0.47);
    border-radius: 50%;
    margin-top: 30rpx;
    margin-left: auto;
    margin-right: auto;
  }

  .header image {
    width: 161rpx;
    height: 161rpx;
    border-radius: 50%;
  }

  .list {
    display: flex;
    flex-direction: column;
    padding-top: 50rpx;
    padding-left: 70rpx;
    padding-right: 70rpx;
  }

  .list-call {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 100rpx;
    color: #333333;
    border-bottom: 0.5px solid #e2e2e2;
  }

  .list-call .img {
    width: 40rpx;
    height: 40rpx;
  }

  .list-call .sl-input {
    flex: 1;
    text-align: left;
    font-size: 32rpx;
    margin-left: 16rpx;
  }

  .yzm {
    color: #FF7D13;
    font-size: 24rpx;
    line-height: 64rpx;
    padding-left: 10rpx;
    padding-right: 10rpx;
    width: auto;
    height: 64rpx;
    border: 1rpx solid #FFA800;
    border-radius: 50rpx;
  }

  .yzms {
    color: #999999 !important;
    border: 1rpx solid #999999;
  }

  .button-login {
    color: #FFFFFF;
    font-size: 34rpx;
    width: 470rpx;
    height: 100rpx;
    line-height: 100rpx;
    background-image: linear-gradient( 135deg, #90F7EC 10%, #32CCBC 100%);
    box-shadow: 0rpx 0rpx 13rpx 0rpx rgba(164, 217, 228, 0.2);
    border-radius: 50rpx;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 100rpx;
  }

  .button-hover {
   background-image: linear-gradient( 135deg, rgba(144, 247, 236, .8) 10%,  rgba(50, 204, 188, 0.5) 100%);
  }

  .agreement {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 30rpx;
    margin-top: 80rpx;
    color: #FFA800;
    text-align: center;
    height: 40rpx;
    line-height: 40rpx;
  }

  .agreement image {
    width: 40rpx;
    height: 40rpx;
  }
  .return {
  	  width: 100%;
  	  height: 200rpx;
  	  image{
  		  width: 64rpx;
  		  height: 64rpx;
  		  margin-left: 20rpx;
  	  }
  }
</style>
